Skip to content

Vnext-81889 | | Name fields for in-person Pickup#1409

Open
pagrawal1-godaddy wants to merge 3 commits into
godaddy:mainfrom
pagrawal1-godaddy:vnext-81889
Open

Vnext-81889 | | Name fields for in-person Pickup#1409
pagrawal1-godaddy wants to merge 3 commits into
godaddy:mainfrom
pagrawal1-godaddy:vnext-81889

Conversation

@pagrawal1-godaddy

Copy link
Copy Markdown

Summary

Changeset

  • Changeset added (docs)

Test Plan

@pagrawal1-godaddy
pagrawal1-godaddy requested a review from a team as a code owner July 14, 2026 08:23
@changeset-bot

changeset-bot Bot commented Jul 14, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: b801042

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
Name Type
@godaddy/react Patch
nextjs Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

The default checkout session starts on shipping, so pickup name inputs
only render after choosing local pickup.

Co-authored-by: Cursor <cursoragent@cursor.com>

@wcole1-godaddy wcole1-godaddy left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Requesting changes for three reproduced pickup regressions and failing local quality gates.

  • Editing required pickup names can clear an existing paid-order billing address.
  • Immediate confirmation can occur before the debounced name update reaches the draft order.
  • Paid card/ACH pickup renders duplicate billing-name controls.
  • The package typecheck fails, and biome check ./src reports six errors in changed files.

The existing 447 React tests and GitHub CICD/CodeQL checks pass, so please add regressions for address preservation, a single rendered name field, and immediate-submit persistence. Since this is an OSS package, please also complete the PR Summary and Test Plan with consumer-facing context.


return (
<div className='space-y-4'>
<AddressForm sectionKey='billing' onlyNames />

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P1] Preserve paid-pickup billing addresses when syncing these names. AddressForm's onlyNames mode maps the update with address: null; now that this component is used for every pickup order, editing first/last name clears an existing billing address. I reproduced an UpdateCheckoutSessionDraftOrder payload with billing.address === null. Please use a names-only sync that omits address when paid pickup still collects a billing address.

{ key: 'billingLastName', message: t.validation.enterLastName },
];

// Pickup orders always require customer name (collected in Pickup section).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P1] Ensure required pickup names are persisted before confirmation. The onlyNames form waits for its local debounce before enqueuing another delayed draft-order patch, while checkout flushing drains only already-enqueued patches. Typing names and immediately clicking Complete Order produced a confirmation with no preceding draft-order update, so the server still sees blank or stale names. Please queue or send the current billing names synchronously in the standard and express submit paths.

<AddressForm
sectionKey='billing'
onlyNames={shouldShowBillingNamesOnly}
hideNames={isPickup && isBillingAddressRequired}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P2] This only hides names from PaymentForm's generic billing form. CreditCardContainer and GoDaddyACHForm each render their own <AddressForm sectionKey='billing'>, so paid pickup currently renders two controls named billingFirstName/billingLastName (reproduced count: 2). Please apply the pickup hideNames behavior to those inline-billing forms as well.

...stripeOnlyPaymentMethods(),
card: null as never,
offline: {
type: PaymentMethodType.OFFLINE,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P2] Remove or type-correct this property. The offline payment-method shape only accepts processor and checkoutTypes, so this addition makes pnpm --filter @godaddy/react typecheck fail with TS2353.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants